1. Field Of The Invention
The present invention relates to a print driver for a color printer, specifically a print driver executable in a host computer so as to derive color component data for transfer to and print-out by the color printer.
2. Description Of The Related Art
Color printers for personal use or for SOHO (small office home office) use have in recent years become extremely popular. These color printers print color images by scanning a band on a recording medium and superimposing plural color components (such as cyan, magenta, yellow and black color components) on the band.
One frequent use for such color printers is to print out a color image representative of a continuous tone (or multilevel) color image displayed on a monitor or otherwise stored in a computerized image file. Continuous tone color images are ordinarily stored in raster bitmap format, with each pixel of the color image having a corresponding color value stored for each of plural color primaries, such as red, green and blue color primaries.
FIG. 1 is a representational view of such a bitmap image 10. As seen in FIG. 1, bitmap image 10 is comprised by multilevel image data for three color planes, a red color plane R, a green color plane G, and a blue color plane B. Each pixel of the color image has corresponding pixel data 11r, 11g and 11b in each color plane. For each of the RGB color planes, pixels 11r, 11g and 11b are arranged in a two-dimensional raster array of pixels so as to form a rasterized bitmap image. In the example of FIG. 1, each of pixel data 11r, 11g and 11b is stored in an eight bit byte. Thus, the color of each pixel in the color image is represented by 24 bits of pixel data, and is commonly referred to as 24-bit or 16 million color data.
Color printers of the type in question, however, do not now have the ability to print continuous tone images. Rather, these color printers are binary printers since they can only deposit, or not deposit, a color dot at each pixel location. In keeping with the separate RGB color planes for continuous tone multilevel data, binary bitmap data for the printer is comprised by separate color planes of binary print data for each printer colorant. FIG. 1 depicts a typical situation in which there are four printer colorants and thus four color planes: a cyan color plane C, a magenta color plane M, a yellow color plane Y, and a black color plane K. For each of the CMYK color planes, pixels 11c, 11m, 11y and 11k are arranged in a two-dimensional raster array of pixels so as to form a rasterized bitmap image. Since it is binary data, however, each of pixel data 11c, 11m, 11y and 11k is stored as one binary bit.
Accordingly, to print a color image representative of continuous tone color image data, it is necessary first to binarize the continuous tone color data for each pixel so that each pixel in the print image is represented by one bit per pixel for each colorant. This process is depicted in the flow diagram of FIG. 2.
Thus, as seen in FIG. 2, continuous tone raster image data is binarized into binary raster data in step S201. Such binarization can be performed by known techniques including dither techniques or error diffusion techniques. The result of binarization is stored in raster bitmap image form, with one bit for each pixel in each printer colorant plane.
FIG. 3 depicts such binarized raster image data for each color plane. As seen there, and in keeping with the rasterized form of color image data in FIG. 1, binary image data is stored in successive bits of successive bytes in a suitably-sized block of memory. For a typical printer printing at 360 dots per inch (dpi) across an eight inch wide recording medium, 360xc3x978=2,880 bits of data are required. Each of these bits are stored into successive bits in eight bit bytes of data. Accordingly, (2,880 bits)/(8 bits per byte)=360 bytes are required to store a single row of print data. For a print head with 24 nozzles for each printer colorant, a 360xc3x9724=8,640 byte block of memory is needed for each color plane, as depicted in FIG. 3. These 8,640 bytes are allocated sequentially in memory, as depicted by the serial numbers 1 through 8,640 shown in FIG. 3, and each byte 12 contains 8 sequential binary bits 14 of binary print data.
FIG. 4 shows the configuration of a typical vertically-oriented print head, in which 24 print nozzles are provided for yellow colorant, 24 print nozzles are provided for magenta colorant, 24 print nozzles are provided for cyan colorant, and 64 print nozzles are provided for black colorant. As seen in FIG. 4, the nozzles are positioned vertically or near vertically, one on top of the other. The print head is driven horizontally across a recording medium in the direction of arrow A so as to effect recording on one band of the recording medium.
Because the geometry of the nozzles on the print head are oriented vertically, whereas the print data stored in memory (FIG. 3) is stored horizontally, there is a need to convert the horizontal raster data of FIG. 3 into column data for use by the print head. Such a step is known in the art, and is depicted in step S202 of FIG. 2. Resulting column format data is depicted in FIG. 5. As seen there, there are still 8,640 bytes of 8-bit binary print data, corresponding to the same 2,880xc3x9724 pixel printing band shown in FIG. 3, but the binary print data is re-organized into column format. Thus 8,640 bytes are allocated sequentially in memory, as depicted by the serial numbers 1 through 8,640, and each byte 15 contains 8 sequential (but column organized) binary bits 16 of binary print data.
Thus, according to conventional techniques for printing a color image representative of a continuous tone color image, the continuous tone color image must be binarized into raster data as mentioned previously in connection with step S201, and the horizontal raster data must be converted into vertical column data, as depicted in step S202. Thereafter, as shown in step S203, each of the binarized color planes is shifted so as to account for vertical offset between groups of nozzles in the print head (step S203), and the shifted color data is printed out (step S204).
Thus, according to conventional techniques for printing out color image data, binarized raster data must be converted from horizontal raster data into column data. This conversion step inevitably slows processing time, and leads to increasingly complex processing.
It is an object of the invention to address the foregoing disadvantages found in prior art systems by storing binarized data directly into column format at the same time as the binarization process, without the intermediary of storing the binarized data in horizontal raster form.
Thus, according to one aspect of the invention, a print driver is executable in a host computer so as to output color component data for each of plural color components to a color printer that has a vertically-oriented print head and that forms color images in a band on a recording medium by plural scans respectively corresponding to each of plural color components. A print driver according to the invention accesses color data for successive pixels of a continuous tone image, binarizes each successive pixel into each of plural color components corresponding to color components on the print head, and stores the binarized data for each pixel in column format without the intermediary of storage in horizontal raster format. Preferably, the binarized color data in column format is shifted so as to account for vertical offset between groups of color print nozzles, and the binarized-and-shifted column data is communicated from the host computer over an interface such as a bi-directional interface to a color printer for print out thereby.
By virtue of the foregoing arrangement, in which binarized color component data is derived and stored directly in column format from continuous tone color data, it is possible to avoid the introduction of additional processing steps that are needed in conventional devices so as to convert horizontal raster data to vertical column data.
This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiment thereof in connection with the attached drawings.